package cn.tedu.oopTestConstructor.cn.tedu;

/**
 * @author SWJ
 * @create 2021-06-15 10:41
 * 复习面向对象3
 * 抽象类不可以实例化（创建对象，声明成抽象的是由不想让外界方法创建本类对象）
 */
public class ReviewOop3 {
    public static void main(String[] args) {
        /**多态 1.父类引用指向子类对象
         * 2.编译看左边 编译看右边
         * 多态中重写的方法，声明使用的是父类的，方法体使用的是子类的
         * 除此之外，多态中使用的其他资源都是父类的*/
        Dog d = new ww();
        d.eat();
        d.play();
    }
}

/**
 * 被abstract修饰的都是抽象类
 */
abstract class Dog {
    public void eat() {
        System.out.println("抽象类");
    }

    abstract void play();
}

class ww extends Dog {
    /**
     * 实现类方法就是重写
     */
    @Override
    void play() {
        System.out.println("实现抽象父类未实现的方法");
    }
}